/*
闭包：

    1、全局变量特点:    全局变量常驻内存、全局变量污染全局
    2、局部变量的特点：  不常驻内存会被垃圾机制回收、不会污染全局  


  /*  想实现的功能：

        1.常驻内存        
        2.不污染全局   

          产生了闭包,闭包可以解决这个问题.....  

          闭包: 函数嵌套函数, 内部函数会调用外部函数的变量或参数, 变量或参数不会被系统回收(不会释放内存)
  
	        闭包的写法： 函数嵌套函数，并return 里面的函数，这样就形成了闭包。

    */  
*/


/*全局变量*/
var a=123;

void main(){

    // print(a);

    // fn(){
    //   a++;
    //   print(a);
    // }
    // fn();
    // fn();
    // fn();




//局部变量
    // printInfo(){
    //   var myNum=123;
    //   myNum++;
    //   print(myNum);
    // }
    // printInfo();

    // printInfo();
    // printInfo();






//闭包

  		fn(){
        var a=123;  /*不会污染全局   常驻内存*/
        return(){			
          a++;			
          print(a);
        };        
      }     
      var b=fn();	
      b();
      b();
      b();

      


}